// login 模块的vuex仓库
const state = {
    isLogin:localStorage.getItem('isLogin')?JSON.parse(localStorage.getItem("isLogin")) : false,// 用户是否登录
    userInfo:localStorage.getItem('userInfo')?JSON.parse(localStorage.getItem('userInfo')) : null
}
// mutations：修改login的唯一手段
const mutations = {
    UPDATELOAD(state,isLogin){
        state.isLogin = isLogin
    },
    // 存储用户信息
    SAVEUSERINFO(state,userInfo){
        state.userInfo = userInfo
    }
}
// action：处理action,可以书写自己的业务逻辑，也可以处理异步
const actions = {
    // 这里可以书写业务逻辑，不能直接修改login
    // 更新登录状态
    updateLogin({commit},isLogin){
        commit('UPDATELOAD',isLogin)
    },
    // 保存用户信息
    saveUserInfo({commit},userInfo){
        commit('SAVEUSERINFO',userInfo)
    }
}
// getters：理解为计算属性，用于简化仓库数据，让组件获取仓库的数据更加方便
const getters = {}
// 我们将属性以对象的形式暴露出去
export default{
    state,
    mutations,
    actions,
    getters
}